home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / The Director v1.2.adf / Scripts / TVgal < prev   
Text File  |  1988-05-08  |  6KB  |  293 lines

  1.    rem
  2.    rem *** Hi-Res demo sequence ***
  3.    rem
  4.    rem Copyright 1987 Right Answers, All Rights Reserved
  5.    rem Do Not Distribute
  6.    rem
  7.    print
  8.    print "This is an example of a hi-res 640x400"
  9.    print "animation, combining partial page-flipping,"
  10.    print "and random text generation.";
  11.  
  12.    rem  figure our memory usage
  13.  
  14.    memory all,chip,fast
  15.  
  16. if fast            :rem only do this if we have fast memory
  17.     rem  remember the current font directory in temp:
  18.            execute a,"assign temp: fonts:"
  19.  
  20.     rem  setup our font directory:
  21.            execute a,"assign fonts: The_Director:fonts"
  22. endif
  23.  
  24.    pause 20:rem  so we can read startup message
  25.    array 300,1
  26.    setblack 1
  27.    load 2,":pictures/tvframes.hi"
  28.    load 1,":pictures/tvgirl.hi"
  29.    load 3,":pictures/singleplane"
  30.  
  31. if fast
  32.    loadfont 1,9,"topaz.font"
  33.    loadfont 2,11,"crazy.font"
  34.  
  35.     rem  got the fonts now, restore the original font directory:
  36.            execute a,"assign fonts: temp:"
  37. endif
  38.  
  39. 1  display 3:rem  our text screen
  40.  
  41.    margins -1,-1:rem  insure we're running default margins
  42.    center 1
  43.  
  44.    clear
  45.    setfont 2:move 0,100:text "a l i e n"
  46.    setfont 1:move 0,120:text "view"
  47.  
  48.     fade 1,3,0:pause 40:fade 0,3,0
  49.  
  50.     clear
  51.     move 0,100:text "by"
  52.     setfont 2:move 0,120:text "keith doyle"
  53.  
  54.     fade 1,3,0:pause 40:fade 0,3,0
  55.  
  56.     clear
  57.     move 0,110:text "software:"
  58.  
  59.     fade 1,3,0:pause 40:fade 0,3,0
  60.  
  61.     clear
  62.     setfont 1:style 4,0:move 0,100:text "The Director"
  63.     style 0,0:move 0,120:text "by"
  64.     style 2,0:move 0,140:text "the Right Answers Group"
  65.  
  66.    fade 1,3,0:pause 40:fade 0,3,0
  67.    clear
  68.  
  69.    display 1:rem  tvgirl
  70.  
  71.    setfont 2
  72.  
  73. rem  init our random text flag
  74.    Z=1
  75.  
  76.    fade 1,1,0
  77.    pause 20
  78.    gosub 200:rem  do a wink
  79.    pause 20
  80.    pen 1,14
  81.  
  82.    rem ** we control the horizontal **
  83.    t=433:u=434
  84. 20   move t,285:draw u,285:move u,286:draw t,286
  85.    t=t-1:u=u+1
  86.    if t#328:goto 20:endif
  87.  
  88.    rem ** we control the vertical **
  89.    t=2
  90. 30   blit 2,0,199-t,329,285-t,210,t+t
  91.    t=t+2
  92.    if t#68:goto 30:endif
  93.    pause 20
  94.    pick=2
  95.    C=2
  96.  
  97.    rem *** main loop ***
  98.    for I=1 to 25
  99.    gosub 300+C*100
  100.  
  101. 11 if pick=C
  102.      pick=?5
  103.      goto 11:rem  don't do same one twice in a row
  104.    endif
  105.  
  106.    C=pick
  107.    if C#5
  108.          gosub 100:rem  do snow if not #5
  109.    endif
  110.    pick=?6
  111.    next
  112.  
  113.    gosub 9000:rem  power down
  114.    fade 0,1,1
  115.    pause 10
  116.    goto 1
  117.  
  118. 100 rem *** snow ***
  119.    for i=1 to 5+?10
  120.    blit 2,211,264,329,219,210,132
  121.    blit 2,423,264,329,219,210,132
  122.    next
  123.    return
  124.  
  125. 300 rem *** talking girl ***
  126.    for i=1 to 15
  127.    t=?2
  128.    if t
  129.       blit 2,0,0,329,219,210,132
  130.    else
  131.       blit 2,211,0,329,219,210,132
  132.    endif
  133.    pause 1
  134.    next
  135.    return
  136.  
  137. rem  *** outside wink ***
  138. 200 gosub 310
  139.    pause 3
  140. 320   blit 2,481,239,303,53,23,14:rem redisplay open eye
  141.    pen 1,0
  142.    blitdest 2
  143.    rect 481,238,504,252:rem erase saved eye
  144.    blitdest -1
  145.    return
  146.  
  147. 310 blitdest 2
  148.    blit 1,303,53,481,239,23,14:rem save open eye
  149.    blitdest -1
  150.    blit 2,522,50,303,53,23,14:rem display closed eye
  151.    return
  152.  
  153. rem *** inside display and wink ***
  154. 400 blitdest 2
  155.    blit 2,522,50,481,239,23,14:rem save closed eye
  156.    blit 1,303,53,522,50,23,14:rem get open eye
  157.    blitdest -1
  158.    blit 2,423,0,329,219,210,132:rem display in tv
  159.    pause 8
  160.    blit 2,481,239,428,269,23,14:rem wink closed
  161.    pause 3
  162.    blit 2,522,50,428,269,23,14:rem wink open
  163.    pause 8
  164.    pen 1,0
  165.    blitdest 2
  166.    blit 2,481,239,522,50,23,14:rem restore closed eye
  167.    rect 481,238,504,252:rem erase saved eye
  168.    blitdest -1
  169.    return
  170.  
  171. 180 rem *** winking pauser ***
  172.    rem   this routine will do a pause P, but once in a while
  173.    rem   will do an outside wink while pausing
  174.    if pick=5:P=0~(P-20):endif
  175.    if (1#?5)|(P<4)
  176.       pause P
  177.       return
  178.    endif
  179.    T=(P-4)/2
  180.    pause T
  181.    gosub 200:rem outside wink
  182.    pause T
  183.    return
  184.  
  185. 500 rem *** display test pattern ***
  186.    blit 2,0,133,329,219,210,132
  187.    P=20:goto 180
  188.  
  189. 600 rem *** display nuke ***
  190.    blit 2,211,133,329,219,210,132
  191.    P=20:goto 180
  192.  
  193. 700 rem *** display stude ***
  194.    blit 2,423,133,329,219,210,132
  195.    P=20:goto 180
  196.  
  197. 800   rem *** techno text 1 ***
  198.    rem uses Z as a toggle, to draw/erase text
  199.    if Z
  200.  
  201. rem  build some random text
  202.     lastc=-1
  203.       for i=0 to 225
  204.          if (0=?3)&(lastc#32):@(i)=32
  205.          else @(i)=65+?26:endif
  206.          lastc=@(i)
  207.       next
  208.  
  209. rem  divide into 3 strings, as string length limit is 100 chars each.
  210.       @(i)=0
  211.       @(98)=0
  212.       @(198)=0
  213.  
  214. rem  draw box
  215.       drawmode 0:pen 1,0:rem draw fancy box
  216.       move 415,36:draw 415,144:draw 628,144:draw 628,36:draw 415,36
  217.       move 416,37:draw 416,143:draw 627,143:draw 627,37:draw 416,37
  218.       move 411,32:draw 411,148:draw 632,148:draw 632,32:draw 411,32
  219.       move 412,33:draw 412,147:draw 631,147:draw 631,33:draw 412,33
  220.  
  221. rem  do the text
  222.       margins 425,625
  223.       move 425,50
  224.       center 1
  225.       text "JOIWEJHBSO 90827"
  226.       center 0
  227.       move 425,65
  228.       text $0:text $100:text $200
  229.       pen 0,0
  230.    else
  231.  
  232. rem  erase text box
  233.       pen 1,15
  234.       rect 410,4,633,176
  235.    endif
  236.    Z=1-Z
  237.    margins -1,-1
  238.  
  239. rem  ** add annotations
  240.  
  241. 810   drawmode 2:rem xor mode
  242.    pen 1,15
  243.    move 173,29:draw 213,29:draw 291,69
  244.    move 173,30:draw 213,30:draw 291,70
  245.    move 175,27:text "FFNAG"
  246.    move 105,54:draw 161,54:draw 266,167
  247.    move 105,55:draw 161,55:draw 266,168
  248.    move 107,52:text "ZPOTZL"
  249.    move 44,168:draw 84,168:draw 141,200
  250.    move 44,169:draw 84,169:draw 141,201
  251.    move 46,166:text "REWPOQ"
  252.    move 600,331:draw 578,331:draw 543,381
  253.    move 600,332:draw 578,332:draw 543,382
  254.    move 580,329:text "IUYX"
  255.    drawmode -1
  256.    return
  257.  
  258. 9000 rem ** power down **
  259.    blit 2,0,133,329,219,210,132
  260.    if 0=Z:gosub 800:endif:rem  kill any leftover techno text
  261.  
  262.    pause 30
  263.  
  264. rem  reset stuff
  265.    center 0
  266.    setfont 2
  267.    margins -1,-1
  268.    drawmode -1
  269.  
  270. rem  remove the vertical
  271.    t=2
  272.    u=2
  273. 9010 blit 2,0,264,329,219,210,t+2
  274.    blit 2,0,396-t,329,351-t,210,t
  275.    t=t+2
  276.    if t#66:goto 9010:endif
  277.    pen 1,14
  278.    move 329,285:draw 538,285:move 538,286:draw 329,286
  279.  
  280.    rem  remove the horizontal
  281. 9020 blit 2,u-2,330,327+u,285,2,2
  282.    blit 2,210-u,330,539-u,285,2,2
  283.    u=u+2
  284.    if u#106:goto 9020:endif
  285.    for i=13 to 5
  286.    pause 2
  287.    pen 1,i
  288.    move 433,285:draw 434,285:move 434,286:draw 433,286
  289.    next
  290.    blit 2,u-2,330,327+u,285,2,2
  291.    return
  292.  
  293.